有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java DOM W3c XML元素解析空属性

我正在使用DOM以以下格式解析XML中的一些数据:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FEFExchangeFile>
    <program>
        <identProgram name="TestSection" type="section" task="MAST"></identProgram>
        <FBDSource nbRows="24" nbColumns="36">

“程序”节点的节点列表正确解析如下:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(CodeFile);
NodeList programeNodeList= doc.getElementsByTagName("program");

我从节点列表中获得for循环中的“program”元素,其工作原理如下:

 // Get the current program node element
 Element programNode = (Element) programeNodeList.item(i);

然后,当我得到“program”元素中的第一项“identProgram”时,它可以像这样工作,我可以将属性提取到字符串中:

 // Get the IdentProgram node element from Program node
 Element identProgramElement = (Element) programNode.getElementsByTagName("identProgram").item(0);

但是什么让我感到困惑。在与上面用于获取“identProgram”的代码完全相同的代码中,我用于获取“fbdSource”之后的下一项,但它给了我一个空指针异常:

 // Get the FbdSource element from Program node 
 Element fBDSourceElement = (Element) programNode.getElementsByTagName("FBDSource").item(0);

如上所述,用于获取identProgram和fbdSource的代码是相同的。它们在xml中处于同一级别。不知道是什么原因造成的

谢谢


共 (0) 个答案